sleep (Kommandozeilenbefehl)
sleep ist ein Kommandozeilenbefehl, welcher in Unix, unixoiden Betriebssystemen, Windows und FreeDOS[1] als Systemaufruf einen laufenden Prozess für eine festgelegte Zeitspanne pausiert.
Allgemeine Beispiele
[Bearbeiten | Quelltext bearbeiten]Die sleep
-Anweisung unterbricht den gegenwärtig laufenden Prozess für die festgelegte Anzahl von Sekunden (per Default), Minuten oder Stunden:
sleep [Zeit]
mit einem ganzzahligen Wert für Zeit zur Angabe der Zeitperiode in Sekunden.[2]
Der aktuelle Prozess wartet 30 Sekunden:
sleep 30
Oder sogar 5 Stunden:
sleep 18000
Unix und unixoide Betriebssysteme
[Bearbeiten | Quelltext bearbeiten]Warte 3 Stunden und spiele anschließend die Datei foo.mp3 ab:
sleep 3h ; mplayer foo.mp3
Ausdrücke wie sleep 5h30m
und sleep 5h 30m
erzeugen Fehlermeldungen, da der sleep
-Befehl einen Wert und (optional) eine Einheit als Argumente erwartet. GNU sleep
verwendende Betriebssysteme (einschließlich Linux) stellen jedoch die Schreibweise sleep 5h 30m
, mit zwingend notwendigem Leerzeichen zur Trennung von Stunden und Minuten, zur Verfügung.
Gleitkommazahlen bewahren vor unübersichtlichen Zeitangaben in reinen Sekunden.[3]
Warte 5,5 Stunden:
sleep 5.5h
Die Aneinanderreihung von sleep
-Befehlen erfüllt denselben Zweck.
Pausiere 5 Stunden und anschließend weitere 30 Minuten:
sleep 5h; sleep 30m
Begrüße den derzeit angemeldeten Benutzer (User, hier root), warte 5 Sekunden und verabschiede dich am Ende von ihm:
Windows
[Bearbeiten | Quelltext bearbeiten]Die PowerShell von Windows definiert den sleep
-Befehl durch einen Alias für das Cmdlet Start-Sleep
[4] und Microsoft stellt ein Resource Kit-Tool für sleep
bereit. Innerhalb einer Batch-Datei oder mittels Windows Eingabeaufforderung unterbricht der Befehl die Ausführung des Programms für eine frei wählbare Zeit.[5]
Neuere Versionen von Windows unterstützen außerdem die Verwendung des timeout
-Befehls.[6]
Anwendungsgebiete
[Bearbeiten | Quelltext bearbeiten]Der Task Scheduler von Windows und Cron in UNIX nutzen den sleep
-Befehl um Prozesse zu planen oder deren Ausführung zu verzögern.[7][8]
In einem geteilten Netzwerk begrenzt der sleep
-Befehl die Anzahl an Usern, die eine große Datei (z. B. mit dem Unix-Befehl wget) herunterladen wollen.
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ Ibiblio: Package group Utilities. Abgerufen am 18. September 2018.
- ↑ die.net: sleep(3): sleep for specified number of seconds - Linux man page. Abgerufen am 18. September 2018.
- ↑ Gnu.org: GNU Coreutils: sleep invocation. Abgerufen am 18. September 2018.
- ↑ Microsoft: Start-Sleep. Abgerufen am 18. September 2018.
- ↑ Microsoft: Download Windows Server 2003 Resource Kit Tools from Official Microsoft Download Center. Abgerufen am 18. September 2018.
- ↑ Microsoft: Timeout Microsoft Docs. Abgerufen am 18. September 2018.
- ↑ GroovyPost: Schedule Windows to Sleep and Wake Automatically. Abgerufen am 18. September 2018.
- ↑ LazyDev: cron vs sleep which is better ? Abgerufen am 18. September 2018.
Weblinks
[Bearbeiten | Quelltext bearbeiten]sleep(3)
– Open Group Base Specification